Traditionally, complex computer programs may include a messaging system to inform users of the computer program of a change in status such as an error, warning, or informational message. Some examples of complex computer programs include 3-D CAD programs, multi-user computer-programming environments, or any other computer program that involves multiple users and collaboration on a project or workflow. In complex computing environment in which multiple users of the computer program are working on a common project, one user's actions may impact another user's actions and this information needs to be transmitted to one or more other users that may simultaneously be working on the project.
Such complex computer programs rely on modal messaging as shown in FIG. 1. Upon the occurrence of a trigger that generates a message, the message is distributed through the computer program's environment to each user of the computer program that is operating on the project for which the workflow is generated. These communications interrupt the workflow of the user, through the creation of a new window, or pop-up that requires user interaction. This distribution system is quite effective in preventing errors from propagating through a project, however, the larger the project and the number of users, the more often that users are interrupted from their workflow and forced to engage with the modal messaging system.
One can imagine working on a large-scale government construction project, where warnings and error messages would constantly appear on the computer screen during a user's workflow and interrupt the user's workflow where the particular message does not require the user's immediate attention. For example, a warning message concerning a problem with plumbing within a building under construction, may have little to no immediate significance on a user's workflow that is addressing the electrical system. The user may be capable of carrying on with the workflow without a fatal error occurring.